import pandas as pd
import matplotlib.pyplot as plt

# 设置中文字体
plt.rcParams['font.family'] = ['SimHei']  # Windows
# plt.rcParams['font.family'] = ['Microsoft YaHei']  # macOS

# 读取CSV文件
data = pd.read_csv("cleaned_data.csv")

# 将 datetime 列转换为日期时间格式
data['datetime'] = pd.to_datetime(data['datetime'])

# 提取小时信息并创建新的列
data['hour'] = data['datetime'].dt.hour

# 按小时分组，并计算每小时的总租车人数
hourly_rentals = data.groupby('hour')['count'].sum()

# 绘制折线图
plt.figure(figsize=(10, 6))
plt.plot(hourly_rentals.index, hourly_rentals.values, marker='o', linestyle='-', color='green')

# 添加每个数据点上的数值标签
for x, y in zip(hourly_rentals.index, hourly_rentals.values):
    plt.text(x, y, str(y), ha='center', va='bottom', fontsize=10)

plt.title('每小时租车人数变化', fontsize=14)  # 修改标题字体大小
plt.xlabel('小时', fontsize=15)  # 修改x轴标题字体大小
plt.ylabel('总租车人数', fontsize=15)  # 修改y轴标题字体大小
plt.grid(True)
plt.xticks(range(24))
plt.show()


